package com.boarsoft.boar.config.drm.server;

import java.util.List;
import java.util.Map;

import cn.com.antcloud.api.ms.v2_0_0.model.DrmAttribute;
import cn.com.antcloud.api.ms.v2_0_0.model.DrmDataCellInfo;
import cn.com.antcloud.api.ms.v2_0_0.model.DrmResource;

public interface DrmConfigServer {

    List<DrmResource> getResource(String appName, String instanceId, String resourceId, Long pageNo, Long pageSize) throws InterruptedException;

    boolean addResource(String appName, String instanceId, String resourceId, String resourceVersion) throws InterruptedException;

    boolean updateResource(String appName, String instanceId, String resourceId, String resourceVersion) throws InterruptedException;

    DrmAttribute getAttribute(String dataId , String instanceId) throws InterruptedException;

    boolean addAttribute(String attrName, String instanceId,Long parentId) throws InterruptedException;

    boolean updateAttribute(String attrName, String instanceId,Long parentId) throws InterruptedException;

    boolean pushDrmdata(String dataId, String instanceId, String pushCells, String value) throws InterruptedException;

    boolean pushGrayDrmdata(String dataId, String instanceId, String hosts, String value) throws InterruptedException;

    void pushValue(String name, String value, String instanceId, String resourceId, String appName) throws InterruptedException;

    DrmDataCellInfo getDataCellInfo(String instanceId,String dataId) throws InterruptedException;

    String pullValue(String appName, String instanceId, String resourceId, String name) throws InterruptedException;

    Map<String,Object> pullAll(String appName, String instanceId, String resourceId) throws InterruptedException;
}

